JS-作用域

14次阅读
没有评论

共计 528 个字符,预计需要花费 2 分钟才能阅读完成。

通常来说,一段代码中所用到的名字并不总是有效和可用的,而限定这名字的可用性的代码范围就是这个名字的作用域

作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突

全局作用域

全局有效

作于所有代码执行的环境(整个 script 标签内部)或者是一个单独的 js 文件

局部作用域

局部有效

作用于函数内的代码环境,就是局部作用域。因为跟函数有关系,也称为函数作用域

块级作用域

{ } 内有效

块级作用域由 { } 包括,if 语句和 for 语句里面的 { } 等

全局变量

函数外部 let 的变量

全局变量在任何区域都可以访问和修改

局部变量

函数内部 let 的变量

局部变量只能在当前函数内部访问和修改

块级变量

{ } 内部的 let 变量

let 定义的变量,只能在快作用域里访问,不能跨块访问,也不能跨函数访问

作用域链

  • 如果函数中还有函数,那么这个作用域中就又可以诞生一个作用域
  • 根据在内部函数可以访问外部函数变量的这种机制,用链式查找决定哪些数据能被内部函数访问,就称做作用域链

函数内部的变量,只能给内部使用,函数外面不能使用
嵌套的函数,里层嵌套的函数可以使用外层函数的变量,外层的函数无法使用里层函数的变量
如果函数内部或者块级作用域内部,变量没有声明,直接赋值,也当 全局变量 来看
函数内部的形参可以看作是局部变量

正文完
 0
qiaofugui.cn
版权声明:本站原创文章,由 qiaofugui.cn 于2024-05-20发表,共计528字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码